public class ReadMe {
    /**
     * 2022-12-6 计算机基础
     * 1.cs和bs架构
     * 2.常用命令行？
     * 3.环境变量作用？
     * 4.Java之父？
     * 5.Java的特点？
     * 简单性、面向对象、分布性、
     * 编译和解释性、稳健性、安全性、
     * 可移植性、高性能、多线索性、动态性
     *      1）Java三大平台？
     *      2）Java跨平台？
     * 6.JVM  JVM Java Virtual Machine
     * 7.JRE
     * 8.JDK
     * 9.project?
     * 10.module?
     * 11.package? 以后不建议，直接在项目下面建类，而是要先创建包
     *      com.wanxi.model   com.cn.wanxi.model
     *      国际。公司。模块     国际。国内。公司。模块
     *      建议包不超过三个
     * 12.class?新建类
     * 13.注释：
     *      1）单行注释，一般用于说明一行代码
     *      2）多行注释，用于说明连续的几行代码
     *      3）文档注释，一般用说说明类，方法，属性
     * 14.习惯每次写完代码用格式化对齐  ctrl+alt+l
     * 15.t o d o:未作的任务，下一次直接查找
     */
    /**
     * 2022-12-7 基础语法
     * 1.全限定名  包路径+类名 ：ctrl+shift+alt+c
     *              快捷键复制：com.wanxi.service.HelloWorld
     * 2.关键字  java赋予特殊含义的字符：全小写
     * 3.复制一行  ctrl+d
     * 4.字面量 ： 常量   固定的值
     * 5.变量：变化的值，变动的值
     * 6.Process finished with exit code 0  Java虚拟机正常情况下退出的编码为0
     * 7.debug
     * 8.变量名不允许重复定义（同级别）
     * 9.变量在使用之前一定要赋值（局部变量）
     * 10.变量的作用范围不会超过当前的{}
     * 11.标识符：给类，方法，变量起的名字，你可以自己起名字的地方 都可以认为叫做标识符
     * 12.命名规则:
     *      0）项目名：全小写  user-name
     *      1)前端：css 类名  全小写   user-name
     *      2）前端：id  小驼峰   userName
     *      3）Java：
     *          1）package 包：  全小写
     *          2）类名    大驼峰   UserName
     *          3）变量   小驼峰  userName
     *          4）方法   小驼峰
     *          5）常量：  全大写  USER_NAME  快捷键  ctrl+shift+u
     * 13.数据类型
     *      1）基本数据类型
     *          1：整数
     *              1 byte    字节  1     0
     *              2 short   字节  2     0
     *              3 int     字节  4     0  （默认数据类型）
     *              4 long    字节  8     0
     *          2：小数
     *              1 float   单精度  4     默认值 0.0
     *              2 double  双精度  8     默认值 0.0 （默认数据类型）
     *          3：字符
     *              char  只包含一个数字或者字母或者汉字或者特殊字符  2个字节
     *          4：布尔
     *              boolean   1  0  默认值 false
     *      2）引用数据类型  除了基本类型就是引用类型
     * 14.学会简单的二进制和十进制相互转换？
     * 15.键盘录入：Scanner scanner=new Scanner(System.in);
     *          得到键盘录入的值？
     *          String next = scanner.next();
     *          int i = scanner.nextInt();
     * 16.整数相除得到的是商（是整数）
     * 17.如果想要得到小数，则必须有小数参与
     * 18.数据类型不同，则回将返回小的数据类型转换为范围大的数据类型
     * 19.字符串拼接的时候，正常情况下按照从左到右进行凭借，
     */
    /**
     * 2022-12-8 运算符
     * 1.        int a = 0;
     *         for(int i=0;i<1000;i++) {
     *            a = a++;
     *        }
     * 2.int c = a++ + ++b;
     *         System.out.println(c);
     * 3. int a=0;
     *         byte b= (byte) a;
     * 4.int a=0;
     *   byte b=0;
     *   b+=a;和b=b+a;区别？
     * 5.Java里面==和===和equals的区别？
     * 6.a&b  遇false则为false    a|b   遇true则为true  ！a 取反
     * 7.&  两边都要运算，判断运算后的结果
     * 8.a&&b 只要左边a为false，则不用计算右边的b的值  短路与
     * 9.a||b  只要左边a为true，则不用计算右边b的值    短路或
     * 10.三元运算符
     *      int a=3>5?6:7;   如果3>5为true，则a的值为6，否则为7
     *      boolean b=3>5?true:false;可以简写为 boolean b=3>5
     * 11.&&优先级大于||的优先级
     */
    /**
     * 2022-12-9 循环
     * 1.以后所有变量都要考虑是否清除，不要全部占用内存
     * 2.if  while for  后面的语句体如果只有一句代码，则可以省略{}，不推荐
     * 3.do while一定会执行一次{}的语句体一次
     * 4.break;终止当前循环  continue；跳过当前循环，执行下一次循环 return  退出当前方法
     * 5.跳转控制语句：跳到需要的代码位置，不用跳出方法，执行其他代码
     */
    /**
     * 2022-12-12 数组
     * 1.数组的定义  int[] arr
     * 2.数组的长度  length
     * 3.break 只用于for  switch
     * 4.数组的长度是方法还是属性？字符串的长度是方法还是属性？
     * 5.两个异常
     *      ArrayIndexOutOfBoundsException  下标越界
     *      NullPointerException  空指针
     * 6.数组？
     *      1）索引
     *      2）赋值
     *      3）取值
     *      4）遍历
     *      5）max，min，sum，count
     *      6）定义方式？2两种
     *      7）定义区别？
     *      8）内存分布图
     *-----------------------------------
     * 7.二维数组：
     *      遍历
     *      赋值
     *      取值
     *      内存图
     *
     */
    /**
     * 2022-12-13 方法
     * 1.一般情况下，一个方法里面不要超过80行代码
     * 2.如果数组在类下面，则数组一直存在，除非不用当前的类
     * 3.如果数组在方法下面，则只要执行完方法，则数组就不存在
     * 4.以后方法最好都给一个返回值
     * ---------------------------------------
     * 方法：
     *      1）方法的定义   public  static void method(){}
     *      2)方法的参数   public  static void method(int a){}
     *      3)方法的返回值  public  static int method(int a){  return 1;}
     * 方法重载：
     *      方法名相同，
     *      参数的个数和数据类型不同
     *      和返回值类型无关
     *--------------------------------
     * 面试遇到最多的问题？
     * 1.什么是重载？
     * 2.方法内存图？
     * 3.形参和实参？
     * 4.Java有没有引用传递？Java的值传递和引用传递？
     */
    /**
     * 2022-12-14 案例讲解
     * Java对于传递引用类型的时候，其实传递的是引用类型的地址值
     * Java对于传递的基本类型，其实传递的是具体的值
     * 所以Java只有值传递
     *
     */
    /**
     * 2022-12-15 面向对象
     * 1.面需对象 类和对象？  类是对对象的抽象，对象是对类的实例
     * 2.属性和行为    对于 类的变量和方法
     * 3.内存图
     * 4.对变量和方法的调用  类  对象名=new  类（）；  对象名.变量名
     * ----------------------------
     * 5.成员变量 类下面的变量（不包括方法，和方法级别一样）
     * 6.局部变量 方法里面的变量
     * 7.如果变量重名，即局部变量和成员变量名字一样，则在方法里面先找局部变量，
     *      然后在找成员变量，（如果当前类没有，则在父类里面去找）
     *      就近原则
     * 8.this  谁调用就指谁
     * 9.在创建对象的时候，new 一个方法，而这个方法名和类名一致，则调用的是构造方法
     * 10.构造方法的作用就算为了得到对象,得到对象的目的就算为了调用对象里面的变量和方法
     * 11.构造方法不用写返回值类型，返回值类型是对象本身，有返回值，返回值就算类
     * 12.类里面默认写了一个无参数的构造方法
     * 13.如果手动写了一个有参数的构造方法，则无参数的构造方法失效
     * 14.如果手动写了一个有参数的构造方法，则手动在写一个无参数的构造方法
     * 15.有参数的构造方法，一般情况下就是对成员变量进行赋值（默认初始值）
     * 16.面试：构造方法是否可以重载？
     * 17.面向对象三大特性？封装，继承，多态（抽象）
     * 18.java的特点？
     * 19.封装：隐藏细节，暴露公共的接口
     * 20.将属性封装到类  就算对数据的封装，将代码抽象到类中就算对方法的封装
     * 21.既然是隐藏细节，那么我们怎么隐藏呢？不能给别人调用
     * 22.修饰符 : 前提条件：指的是当前项目
     *      private 私有
     *      默认不写
     *      protected  受保护
     *      public  公共的公开的
     * 23.把不需要别人调用的方法进行隐藏，就需要用到private 私有，自己自己调用
     * 24.所有引入类型的基类都是Object
     * 25.要熟悉Object里面的方法？
     *          1：getClass   得到当前对象的类  多用于反射
     *          2：hashCode    得到hash值     多用于比较
     *          3：equals      比较里面的内容的值
     *          4：clone    克隆   复制
     *          5：toString   将对象转换为字符串
     *          6：notify/notifyAll   唤醒单个线程/唤醒所有线程
     *          7：wait   线程等待
     *          8：finalize  垃圾回收 ：gc();
     * 26.如果想要打印某个对象，则需要对对象进行toString方法的重写
     * ------------------------------
     * 今日任务：将第一阶段所有对象写成JavaBean
     *  餐饮：
     *      1：公司对象
     *      2：导航：
     *      3：新闻
     *      4：新闻栏目
     *      5：产品对象
     *      6：菜系对象
     *      7：留言对象
     */
    /**
     * 2022-12-16 字符串
     * 1.Java提供了一个API，可以理解为帮助文档,如果英文不好，可以下载中文API
     * 2.如果类在java.lang下面，则直接使用，不需要导包
     * 3.字符串都是用双引号括起来
     * 4.字符串的值不可改变，如果改变，则是重新创建一个对象
     * 5.通过双引号创建的字符串 直接存在常量池，而且唯一（数据共享）
     * 6.通过new关键字创建的字符串会存在堆内存，每一次都会重新开辟一个空间
     * 7. String s4 = "a" + "b" + "c"+s1; 这里会先进行运算，在拼接再赋值
     * 8.double a=1+2+3+4;
     * 9.equals 比较的是内容  ==  基本类型比较的是值，引用类型比较的是地址值
     * 10.字符串遍历
     *      1：需要得到字符串的长度 str.length()
     *      2：用index索引进行得到对应的字符 char c = str.charAt(i);
     * 11.字符串是否有length属性，数组是否有length方法？
     * 12.字符串其实是可以通过构造方法
     *      char[] aa=new char[]{'a','b'};
     *      String str=new String(aa);
     * 13.所以，怎么将字符串转换为字符数组呢？
     *       char[] chars = str.toCharArray();
     * 14.字符串截取：
     *      str.substring(startIndex, endIndex);[startIndex,endIndex)
     *      str.substring(startIndex);[startIndex,str.length());
     * 15.替换
     *     String result= str.replace(oldStr, newStr);
     * 16.分割字符串
     *      split  String[] split = str.split(",");
     *      String name = split[0];
     *      int age = Integer.parseInt(split[1]);
     *
     */
    /**
     * 2022-12-19 集合基础
     * 1.包装类和基本数据类型的区别？
     * 2.包装类转换为基本数据类型 叫做拆箱
     * 3.基本数据类型转换为包装类  叫做装箱
     * 4.无论Java里面学的任何容器，都需要进行简单的增删查改
     * 5.数组没有删除，固定长度
     * 6.集合
     *      增加：add(obj),add(index,obj)
     *      删除:remove(index),remove(obj)
     *      修改：set(index,obj)
     *      查询:遍历;for  forEach  get(index); size()长度
     * -------------------------------------------
     * 学生管理系统：知识点：
     *      1）集合的定义
     *      2）方法的定义
     *      3）for
     *      4)forEach
     *      5)switch
     *      6)退出：return  System.exit(0);
     *      7）if else
     *      8)split
     *      9)Integer.parseInt
     *
     */


}
